module.exports = {
	onShareAppMessage(res) { //发送给朋友
		return {}
	},
	onShareTimeline(res) { //分享到朋友圈
		return {}
	},
	data() {
		return {
			corUrl: 'https://danceplatform.firstmove.club/'
		}
	},
	methods: {
		distance(lat1, lng1, lat2, lng2) {
			lat1 = parseFloat(lat1)
			lng1 = parseFloat(lng1)
			lat2 = parseFloat(lat2)
			lng2 = parseFloat(lng2)

			var radLat1 = lat1 * Math.PI / 180.0;
			var radLat2 = lat2 * Math.PI / 180.0;
			var a = radLat1 - radLat2;
			var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
			var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
				Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
			s = s * 6378.137; // EARTH_RADIUS;
			s = Math.round(s * 10000) / 10000;

			s = s * 1000

			if (isNaN(s)) {
				return 0 + 'm';
			}

			if (s > 1000) {
				//    大于1000米时
				s = Math.floor(s / 1000 * 100) / 100;
				s = s + '公里'
			} else {
				//    小于1000米直接返回
				s = s.toFixed(2) + '米'
			}

			return s;
		},
		// 为了计算比较位置，临时加的
		distanceM(lat1, lng1, lat2, lng2) {
			lat1 = parseFloat(lat1)
			lng1 = parseFloat(lng1)
			lat2 = parseFloat(lat2)
			lng2 = parseFloat(lng2)
		
			var radLat1 = lat1 * Math.PI / 180.0;
			var radLat2 = lat2 * Math.PI / 180.0;
			var a = radLat1 - radLat2;
			var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
			var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
				Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
			s = s * 6378.137; // EARTH_RADIUS;
			s = Math.round(s * 10000) / 10000;
		
			s = s * 1000
		
			if (isNaN(s)) {
				return 0;
			}
		
			// if (s > 1000) {
			// 	//    大于1000米时
			// 	s = Math.floor(s / 1000 * 100) / 100;
			// 	s = s + '公里'
			// } else {
			// 	//    小于1000米直接返回
			// 	s = s.toFixed(2) + '米'
			// }
		
			return s.toFixed(2);
		},
		toIndexPage() {
			this.$u.route({
				url: 'pages/index/index',
				type: 'tab',
			})
		},
		toStoreChoosePage() {
			this.$u.route({
				url: 'pages/index/storeChoose'
			})
		},
		toOrderRoomPage(room_id) {
			this.$u.route({
				url: 'pages/index/orderRoom?id=' + room_id
			})
		},
		selectStoreAndtoIndex(id) {
			this.$u.vuex('vuex_selected_store', id)
			this.$u.route({
				url: '/pages/index/storeIndex',
				// type: 'reLaunch', // 因为index 是 Tabs的一部分，如果是tab过去将不会发起新的请求
			})
		},
		toMemberVoucherPage() {
			this.doAfterLogin(() => {
				this.$u.route({
					url: 'pages/members/membersVoucher'
				})
			})

		},
		toRechargePage() {
			this.doAfterLogin(() => {
				this.$u.route({
					url: 'pages/members/membersCharge'
				})
			})
		},
		goBack() {
			this.$u.route({
				type: 'navigateBack',
			})
		},
		//复制
		copy(item, icon = false) {
			//提示模板
			uni.setClipboardData({
				data: item, //要被复制的内容
				success: () => {
					//复制成功的回调函数
					uni.showToast({
						//提示
						title: '复制成功',
						icon: icon ? 'success' : 'none',
					});
				}
			});
		},
		makePhoneCall(mobile) {
			uni.makePhoneCall({
				phoneNumber: mobile //仅为示例
			});
		},

		openLocation(lat, lng, address) {
			uni.openLocation({
				latitude: parseFloat(lat),
				longitude: parseFloat(lng),
				address: address,
				success: function(res) {
					console.log(res)
				},
				fail: function(err) {
					console.log(err)
				}
			});
		},
		doAfterLogin(f) {
			if (!this.vuex_has_login) {
				uni.showLoading({
					title: '加载中'
				});
				let data = {}
				new Promise((resolve, reject) => {
					uni.login({
						provider: 'weixin',
						success: (res) => {
							data.code = res.code
							resolve()
						},
						fail: (err) => {
							reject(err)
						},
					})
				}).then(() => {
					// console.log('http request');
					// console.log(data);
					this.$u.api.mpWeixinRegisterAndLogin(data)
						.then((res) => {
							console.log(res);
							this.$u.toast(res.msg, 2000)
							if (1 == res.code) {
								this.vuex_login(res)
							}
							uni.hideLoading()
						})
						.then(() => {
							f()
						})
				}).catch((e) => {
					uni.hideLoading()
					console.log(e);
				})
			} else {
				f()
			}
		},

		wx_login() {
			this.doAfterLogin(() => {})
		},


		/*工具函数*/
		strSub(str, len) {
			if (str) {
				if (str.length > len) {
					return str.substr(0, len) + '\n' + this.strSub(str.substr(len), len)
				} else {
					let reason = str
					return reason
				}
			}
			return str
		},


	}
}